let baseUrl = 'http://localhost:8491';//服务器地址
let methods = ['get', 'post', 'delete'];//涉及到的请求method
// import updateUserInfo  from "./updateUserInfo";
export default function request(url, data, methodIndex) {
    // console.log('aaa');
    let header = {
        'content-type': 'application/json',
    }
    let token = uni.getStorageSync('token');//从本地存储中获取token，存在则添加到请求投中
    // console.log(token);
    if (token !== '') {
        header['Authorization'] = token
    }
    //利用promise实现请求
    return new Promise((resolve, reject) => {
        uni.request({
            header,
            url: baseUrl + url,
            method: methods[methodIndex],
            data,
            success: res => {
                // console.log(res);
                if (res.data.code == 200) {
                    //正常请求且正常返回数据的情况下
                    resolve(res.data.data)
                }
                else if (res.data.code == 4005) {
                    //用户token过期或不存在的情况下
                    //还涉及到token过期情况下小程序端自动更新token
                    uni.showModal({
                        title: '提示',
                        content:"登录状态已失效，请重新登录",
                        success: res => {
                            uni.setStorage({
                                key: 'token',
                                data:""
                            })
                            if (res.confirm) uni.switchTab({
                                url: '/pages/tabs/mine'
                            })
                        }
                    })

                }
                else {
                    uni.showToast({
                        title: res.data.message,
                        icon: 'none'
                    })
                    //请求失败时返回url，这里是方便测试的时候用的
                    reject({ url })
                }
            },
            fail: reason => {
                // console.log(reason);
                reject({ url })
            }
        })
    })
}